Skip to content

refactor: parallel lint/test jobs and setup-node-workspace composite action#308

Merged
maxnoller merged 3 commits intomainfrom
refactor/ci-lint-test-split
Apr 15, 2026
Merged

refactor: parallel lint/test jobs and setup-node-workspace composite action#308
maxnoller merged 3 commits intomainfrom
refactor/ci-lint-test-split

Conversation

@maxnoller
Copy link
Copy Markdown
Member

@maxnoller maxnoller commented Apr 14, 2026

Summary

  • Splits the monolithic unit-tests job into parallel lint and test jobs — lint is fast and should not block on the slow test suite
  • Adds .github/actions/setup-node-workspace composite action encapsulating the 3-step Node setup (setup-node + npm ci + npm run setup), preventing the container dep install from being missed in future jobs
  • Aligns publish-release.yml publish-npm job to Node 22 with npm cache (absorbs chore: use npm ci in CI and align Node.js version across workflows #300)
  • Uses npm ci throughout CI for lockfile-exact reproducible installs

Job graph after this PR

docker-preflight/agent   ─┐
docker-preflight/gateway  ─┤  all parallel
lint                      ─┤
test                      ─┤
  └─ npm-e2e ─────────────┘

Test plan

  • CI passes on this branch
  • lint and test jobs run in parallel (visible in Actions UI)
  • npm-e2e waits for test before starting
  • docker-preflight jobs use the composite action correctly
  • No reference to old unit-tests job remains

@maxnoller maxnoller requested a review from furukama April 14, 2026 12:51
Keep the PR's conditional cancel-in-progress (avoid cancelling main
branch runs) and the lint/test job split. The contents:write permission
from main is already on the test job where the coverage badge is
published.
@maxnoller maxnoller merged commit c1d82cd into main Apr 15, 2026
5 checks passed
@maxnoller maxnoller deleted the refactor/ci-lint-test-split branch April 15, 2026 13:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants